package pl.integration.jdbcconnector.android;

import java.util.Date;
import java.util.LinkedList;
import java.util.List;
import java.util.Set;

import pl.integration.jdbcconnector.dao.AndroidDao;
import pl.integration.jdbcconnector.exceptions.NotFoundInDbException;
import pl.integration.jdbcconnector.objects.Klasa;
import pl.integration.jdbcconnector.objects.Pracownik;
import pl.integration.jdbcconnector.objects.Przedmiot;

public class A_Pracownik {

    private int pracownikId;

    private String login;

    private String haslo;

    private String imie;

    private String nazwisko;

    private Date data_ost_logowania;

    private boolean czy_nauczyciel;

    private Set<Przedmiot> przedmioty;
    
    private List<A_Klasa> klasy;

    /* getters & setters & constructors */

    public A_Pracownik(Pracownik p, AndroidDao dao) {
        this.setPracownikId(p.getPracownikId());
        this.czy_nauczyciel = p.isCzy_nauczyciel();
        this.data_ost_logowania = p.getData_ost_logowania();
        this.haslo = p.getHaslo();
        this.imie = p.getImie();
        this.login = p.getLogin();
        this.nazwisko = p.getNazwisko();
        this.przedmioty = p.getPrzedmioty();
        klasy = new LinkedList<A_Klasa>();
        
        for(Klasa k:p.getKlasy()){
            A_Klasa a = new A_Klasa(k);
            try {
                a.setUczniowie(dao.getUczniowie(k));
            } catch (NotFoundInDbException e) {
                e.printStackTrace();
            }
            klasy.add(a);
        }
        
    }
    
    public A_Pracownik(){
        
    }

    public int getPracownikId() {
        return pracownikId;
    }

    public void setPracownikId(int pracownikId) {
        this.pracownikId = pracownikId;
    }

    public String getLogin() {
        return login;
    }

    public void setLogin(String login) {
        this.login = login;
    }

    public String getHaslo() {
        return haslo;
    }

    public void setHaslo(String haslo) {
        this.haslo = haslo;
    }

    public String getImie() {
        return imie;
    }

    public void setImie(String imie) {
        this.imie = imie;
    }

    public String getNazwisko() {
        return nazwisko;
    }

    public void setNazwisko(String nazwisko) {
        this.nazwisko = nazwisko;
    }

    public Date getData_ost_logowania() {
        return data_ost_logowania;
    }

    public void setData_ost_logowania(Date data_ost_logowania) {
        this.data_ost_logowania = data_ost_logowania;
    }

    public boolean isCzy_nauczyciel() {
        return czy_nauczyciel;
    }

    public void setCzy_nauczyciel(boolean czy_nauczyciel) {
        this.czy_nauczyciel = czy_nauczyciel;
    }

    public Set<Przedmiot> getPrzedmioty() {
        return przedmioty;
    }

    public void setPrzedmioty(Set<Przedmiot> przedmioty) {
        this.przedmioty = przedmioty;
    }

    public List<A_Klasa> getKlasy() {
        return klasy;
    }

    public void setKlasy(List<A_Klasa> klasy) {
        this.klasy = klasy;
    }

}
